實作一個圖片展開的動畫
flex
、flex 佔比為 1flex
、 justify-content
、 align-items
、 flex-direction
第一段動畫
toggle
來切換 class open
。const panels = document.querySelectorAll('.panel');
function clickHandler() {
this.classList.toggle('open');
}
panels.forEach(panel => {
panel.addEventListener("click", clickHandler);
});
第二段動畫
transform: translate
和 add class 把動畫做出來e
會觸發多個事件,當事件有 flex
時,才觸發 toggle
來切換 open-active
function transitionHandler(e) {
if (e.propertyName.includes('flex')) {
this.classList.toggle('open-active');
}
}
panels.forEach(panel => {
panel.addEventListener("transitionend", transitionHandler);
});
flex
不熟的話有一些小遊戲可以一邊玩一邊變厲害